#ifndef __DATA_MANAGER_INTERFACE__
#define __DATA_MANAGER_INTERFACE__

#include "Data/DataIf.h"
#include "Data/DataExIf.h"
#include "Data/DataVisitorIf.h"


class TDATA_API  IDataManager
{
public:
	virtual ~IDataManager(){;}

	//	
	//	IData
	//
	virtual bool		set(IData* pData) = 0;
	virtual IData*		get(const int& nID, const int& nGrpID = 0)const	= 0;

	//
	//	Table Size
	//
	virtual int			size()const = 0;

	//
	//	Iterator
	virtual bool forEach(IDataVisitor& v) = 0;
};

extern  TDATA_API IDataManager*	g_StaticDataManager;
#endif
